home *** CD-ROM | disk | FTP | other *** search
/ Inventor Labs: Technology / INVENTORLABS_TECHNOLOGY.BIN / mac / FILES / INVEST.DIR / 00250_Script_Inv Induced Obj < prev    next >
Text File  |  1997-05-26  |  6KB  |  182 lines

  1. --Inv Induced Obj
  2.  
  3. property pPuppetSpriteList, pStartMagnetSprite, pMovingMagnetSprite, pStartMagnetCastNum
  4. property pMotorPos, pLastmovienum, pMagnet, pSliderPos, pFlag, pTempx
  5. property pDirection, pMotorCount, pQTStartCast, pCoilStartCast
  6. property pBottomCoilSpriteNum, pTopCoilSpriteNum
  7. property pInvisibleMagnet
  8. -----------------------------------------------------ò
  9. on mInit me
  10.   
  11.   set pPuppetSpriteList = [3,4,5,13,14,15]
  12.   set pStartMagnetSprite = 10
  13.   set pMovingMagnetSprite = 4
  14.   set pStartMagnetCastNum = the number of cast "Large Mag. W.Bar"
  15.   set pQTStartCast = the number of cast "temp movie"
  16.   set pCoilStartCast = the number of cast "#2 Back"
  17.   set pBottomCoilSpriteNum = 3
  18.   set pTopCoilSpriteNum = 5
  19.   mActivate (me)
  20.   return me
  21.   
  22. end mInit
  23. -----------------------------------------------------ò
  24. on mActivate me
  25.   
  26.   repeat with x in pPuppetSpriteList
  27.     puppetSprite x, true
  28.   end repeat
  29.   
  30.   set pMagnet = 1
  31.   set pSliderPos = 1
  32.   set pMotorPos = 0
  33.   set pLastmovienum = 0
  34.   -- set initial position of magnet and rod
  35.   mUpdateLoops(me)
  36.   
  37.   set initPos = 245
  38.   
  39.   set pMotorCount = 1
  40.   set pDirection = 1
  41.   set pTempx = 327
  42.   
  43.   set pInvisibleMagnet = 12
  44.   set the visible of sprite 12 = 0
  45.   set pFlag = 0
  46.   
  47. end mActivate
  48. -----------------------------------------------------ò
  49. on mClose me
  50.   repeat with x in pPuppetSpriteList
  51.     puppetSprite x, false
  52.   end repeat
  53.   
  54.   --tj&dl
  55.   repeat with n = 2 to 20
  56.     set the puppet of sprite n = 0
  57.     set the visible of sprite n = 1
  58.   end repeat
  59.     puppetsprite 33,  false
  60. end mClose
  61. -----------------------------------------------------ò
  62. on mFlagSet me
  63.   set pFlag = 1
  64. end mFlagSet
  65. -----------------------------------------------------ò
  66. on mFrameLoop me
  67.   
  68.   -- set animation step size
  69.   set stepsize = 3
  70.   
  71.   if pMotorPos<>0 then
  72.     set movienum = (pSliderPos-1)*9+(pMagnet-1)*3+pMotorPos
  73.     
  74.     if movienum <> pLastmovienum then
  75.       set the loch of sprite 4 to 210
  76.       set pLastmovienum = movienum
  77.       set the castnum of sprite 13 to pQTStartCast + movienum
  78.       if the castNum of sprite 13 < pQTStartCast then
  79.         put pMotorPos && pMagnet && pSliderPos && pFlag && pTempx
  80.         set the castNum of sprite 13 = pQTStartCast
  81.       end if
  82.     end if
  83.     
  84.     if pFlag = 0 then
  85.       set pMotorCount = pMotorCount + 1
  86.       set delta = pMotorPos*stepsize
  87.       set pTempx = the loch of sprite 4
  88.       
  89.       -- check to see if the motor is at the end, if so, switch pDirection
  90.       if pTempx + delta > 240 then -- 255 then
  91.         set pDirection = -1
  92.       end if
  93.       if pTempx - delta < 210 then
  94.         set pDirection = 1
  95.         set pMotorCount = 0
  96.       end if
  97.       
  98.       set the loch of sprite 4 to pTempx+delta*pDirection
  99.       
  100.       set the movietime of sprite 13 to ( (the movietime of sprite 13) + 4 )
  101.       
  102.       updateStage
  103.       
  104.     end if
  105.     
  106.   end if
  107.   -- bugs here
  108.   --if the movierate of sprite 13 = 0 then set the movietime of sprite 13 = 1
  109.   go the frame
  110.   
  111. end mFrameLoop
  112. -----------------------------------------------------ò
  113. on mSelectMagnet me
  114.   set ClickIndex = the clickon - pStartMagnetSprite
  115.   set the visible of sprite pInvisibleMagnet = 1
  116.   set pInvisibleMagnet = the clickOn
  117.   set the visible of sprite pInvisibleMagnet = 0
  118.   set the castnum of sprite pMovingMagnetSprite = pStartMagnetCastNum + ClickIndex
  119.   set pMagnet = 3 - ClickIndex
  120. end mSelectMagnet
  121. -----------------------------------------------------ò
  122. on mLoopSliderClick me
  123.   repeat while the mousedown
  124.     set pTempx = the mouseH
  125.     if pTempx < 456 then
  126.       set pTempx = 456
  127.     end if
  128.     if pTempx > 566 then
  129.       set pTempx = 566
  130.     end if
  131.     set the loch of sprite 15 to pTempx
  132.     updateStage
  133.   end repeat
  134.   
  135.   set pSliderPos = 1+(13+pTempx-456)/27
  136.   if pSliderPos < 0 then set pSliderPos = 1
  137.   set CheckSum = (27*(pSliderPos-1)+456)
  138.   if CheckSum < 456 then set CheckSum = 456
  139.   set the loch of sprite 15 to CheckSum
  140.   updateStage
  141.   
  142.   mUpdateLoops(me)
  143.   
  144. end mLoopSliderClick
  145. -----------------------------------------------------ò
  146. on mSpeedSliderClick me
  147.   
  148.   repeat while the mousedown
  149.     
  150.     set pTempx = the mouseH
  151.     if pTempx > 305 then set pTempx = 305
  152.     if pTempx < 219 then set pTempx = 219
  153.     
  154.     set the loch of sprite 14 to pTempx
  155.     updateStage
  156.   end repeat
  157.   
  158.   set pMotorPos = (14+pTempx-219)/28
  159.   if pMotorPos = 0 then set pFlag = 1
  160.   else set pFlag = 0
  161.   set the loch of sprite 14 to (28*(pMotorPos)+219)
  162.   set CheckSum = (28*(pMotorPos)+219)
  163.   if CheckSum < 219 then set the locH of sprite 14 = 219
  164.   updateStage
  165.   
  166. end mSpeedSliderClick
  167. -----------------------------------------------------ò
  168. on mUpdateLoops me
  169.   
  170.   --put "pSliderPos" && pSliderPos
  171.   set the castnum of sprite pBottomCoilSpriteNum to (pCoilStartCast - 2) + pSliderPos*2
  172.   if the castNum of sprite pBottomCoilSpriteNum < pCoilStartCast then set the castNum of sprite pBottomCoilSpriteNum = pCoilStartCast
  173.   set the castnum of sprite pTopCoilSpriteNum to (pCoilStartCast - 1) + pSliderPos*2
  174.   if the castNum of sprite pTopCoilSpriteNum < (pCoilStartCast + 1) then set the castNum of sprite pBottomCoilSpriteNum = pCoilStartCast + 1
  175.   updateStage
  176.   
  177. end mUpdateLoops
  178. -----------------------------------------------------ò
  179. -----------------------------------------------------ò
  180. -----------------------------------------------------ò
  181. -----------------------------------------------------ò
  182.